Provide a concise way to create lists.
new_list = [expression for member in iterable]
[x**2 for x in range(10)]
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]conditionals are important because they allow list comprehensions to filter out unwanted values
new_list = [expression for member in iterable (if conditional)]
[x**2 for x in range(10) if x%2 == 0]
# [0, 4, 16, 36, 64]new_list = [expression (if conditional) for member in iterable]
[x if x%2 == 0 else 0 for x in range(10)]
# [0, 0, 2, 0, 4, 0, 6, 0, 8, 0]new_dict = {v: k for k, v in some_dict.items()}
fahrenheit = {'t1': -30,'t2': -20,'t3': -10,'t4': 0}
celsius = {k:(float(5)/9)*(v-32) for (k,v) in fahrenheit.items()}
celsius
# {'t1': -34.44444444444444, 't2': -28.88888888888889, 't3': -23.333333333333336, 't4': -17.77777777777778}dict1 = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
dict2 = {k:v for (k,v) in dict1.items() if v>2}
dict2
# {'c': 3, 'd': 4, 'e': 5}# TODOnew_set = {expression for member in iterable}
{x**2 for x in range(10)}
# {0, 1, 64, 4, 36, 9, 16, 49, 81, 25}